Perspective images can be generated by artists, photographic techniques and/or computer-based approaches. The basic principles for the generation of perspective pictures were discovered in the sixteenth century by Italian artists and in particular by the Florentine architect and engineer Filippo Brunelleschi, who carried out a series of experiments leading to a mathematical theory of perspective (“The Science of Art: Optical Themes in Western Art from Brunelleschi to Seurat”. By M. Kemp. Yale University Press, 1990).
The fundamental operation consists of projecting a three-dimensional object to a two dimensional representation of this object on a plane. Renaissance artists relied on different approaches to carry on this task including the use of the “perspective machine” designed by Albrecht Durer (FIG. 1) and the “camera obscura” invented in the 16th century as a pinhole camera (without lenses). The invention of photography, which captures the projected image on a photographic plate or film, represented a major step forward.
The method for the generation of 3D perspective pictures by computers uses until today the same basic principles of perspective projection discovered during the Renaissance, which requires dividing by the depth of each point. The said method is based on mathematical equations where the distance “z” from the object to the projection plane goes into the denominator, introducing the characteristic “perspective foreshortening”, responsible for making remote parts on an object appear smaller than nearer parts. Denominators, however, “have a nasty way of evaluating to zero” (“Computer Graphics: Using Open GL”, 2nd edition. By Hill, F. S., Jr. Prentice Hall; 2001, pp. 373 (ISBN 0-02-354856-8). This is clearly pointed out by Upstill (“The RenderMan Companion. A Programmer's Guide to Realistic Computer Graphics”. By Upstill, Steve. Reading, Mass.: Addison-Wesley Publishing Company; 1990, pp. 1-475 (ISBN 0-201-50868-0). “Perspective transformations cause division by zero for points at z=0, and they give bizarre results for points in negative z. Therefore they should be used with great care”. The eminent computer graphicist Jim Blinn also calls attention to these issues when discussing perspective transformations: “Having a program die because of a zero divide error is a most unpleasant experience” (A Trip Down the Graphics Pipeline”. By J. Blinn. Morgan Kaufmann Publishers, Inc., San Francisco, 1996, pp. 131).
The graph of FIG. 2A shows why this problem happens: As the distance z moves through zero and into negative values, the mathematical function of division suffers a discontinuity during this transition from positive to negative values. Current software tools for generating perspective pictures are therefore obliged to introduce limitations and/or approximations such as, respectively: (i) The process known as “clipping” to remove “offending points” (those lying too close to zero or having negative values) before trying to project them (Hill, 2001); (ii) The adoption of “weak-perspective” camera models which turn the non-linear fundamental division equations into linear equations by placing the scene points far away from the viewing camera (“Introductory Techniques for 3-D Computer Vision”. By E. Trucco and A. Verri. Prentice Hall, 1998, pp. 26-28).